home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / coding / 80x86 / code32.lzh / INS.RT < prev    next >
Text File  |  1993-01-09  |  842b  |  38 lines

  1. public  _ins
  2. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  3. ; Insert one item into list
  4. ; In:
  5. ;   BX - number to insert at
  6. ;   DX - total items present
  7. ;   ECX - size of each item
  8. ;   EBP - base of list
  9. ; Out:
  10. ;   EDI - item to fill with blank
  11. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  12. _ins:
  13.         push ecx
  14.         push edx
  15.         push esi
  16.         movzx esi,bx
  17.         imul esi,ecx
  18.         add esi,ebp
  19.         lea edi,[esi+ecx]
  20.         sub dx,bx
  21.         movzx edx,dx
  22.         dec edx
  23.         jz short insdone
  24.         imul ecx,edx
  25.         lea esi,[esi+ecx-1]
  26.         lea edi,[edi+ecx-1]
  27.         std
  28.         rep movsb
  29.         cld
  30.         inc esi
  31. insdone:
  32.         mov edi,esi
  33.         pop esi
  34.         pop edx
  35.         pop ecx
  36.         ret
  37.  
  38.